The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the inventors hereof, to the extent the work is described in the background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly or impliedly admitted as prior art against the present disclosure.
A Controller Area Network (“CAN”) is a serial bus system developed to exchange information between different Electronic Control Units (“ECUs”) connected to the bus, where information is exchanged securely and in real time. While CAN was originally developed for circulating commands between components in automobiles, the applications of CAN have expanded to other electronic environments.
A CAN functions by a given ECU broadcasting a frame to all other ECUs that share a CAN bus with the given ECU. All ECUs have an equal opportunity to begin transmitting a message frame whenever the CAN bus is idle, as there are no master or slave nodes. Thus, so long as no other ECU is using the bandwidth of the CAN bus, any given ECU can transmit a frame without delay.
In the event that two ECUs simultaneously detect that the bus is idle, two frames may be transmitted simultaneously and collide. In order to resolve the collision, the CAN protocol, upon detecting the collision, responsively determines which message is of a higher priority, and then transmits the higher priority message first. The priority is determined based on a message Identifier (“message ID”) within an arbitration field of a CAN frame. As a consequence, the ability of the lower priority message to be transmitted depends on whether the CAN bus is being used by a different ECU for transmission of a higher priority message. If there are many ECUs on a given bus, and two of those ECUs are of high priority and frequently communicate, a lower priority ECU may experience extremely high latency in its communications because there may be few opportunities to transmit its messages, as the bus will seldom be idle.